N-그램

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.09.15
조회수
3
버전
v1

N-그램## 개요

N-그램(N-gram)은어처리(Natural Language Processing, NLP) 분야에서 언어 모델(Language Modeling)에리 사용되는 기초적인 통계적 기법이다. N-램은 연속 N개의 아이템(item)으로 구성된 부분열을 의미하며, 언어 처리에서는 주로 연속된 N개 단어(word) 또는 음소(phoneme), 문자(character) 등을 말한다. 예를 들어, 문장에서 연속된 2개의 단어로 구성된 것을 바이그램(bigram), 3개의 단어는 트라이그램(trigram)이라고 한다.

N-그램 모델은 주어진 단어 시퀀스가 얼마나 자연스러운지를 확률적으로 평가하는 데 사용되며, 기계 번역, 음성 인식, 텍스트 생성, 스펠링 교정 등 다양한 응용 분야에서 활용된다. 단순하면서도 효과적인 특성 덕분에, 딥러닝 기반의 고급 언어 모델이 등장하기 이전까지는 N-그램이 언어 모델링의 핵심 기법이었다.


N-그램의 정의와 종류

정의

N-그램은 길이가 N인 연속된 기호(sequence)의 조각이다. 자연어처리에서는 이 기호가 일반적으로 단어 또는 문자 단위로 나뉜다. 수학적으로, 문장 ( W = w_1, w_2, ..., w_T )에서 N-그램은 다음과 같이 정의된다:

[ \text{N-그램} = (w_i, w_{i+1}, ..., w_{i+N-1}) ]

예를 들어, 문장 "나는 학생입니다"에서:

  • 유니그램(Unigram, N=1): "나는", "학생입니다"
  • 바이그램(Bigram, N=2): "나는 학생입니다"
  • 트라이그램(Trigram, N=3): "나는 학생입니다" (이 문장은 단어 2개이므로 트라이그램은 존재하지 않음)

주요 종류

N 이름 설명
1 유니그램 (Unigram) 단어 하나만 고려. 각 단어의 등장 확률을 독립적으로 계산
2 바이그램 (Bigram) 현재 단어가 바로 이전 단어에 의존한다고 가정
3 트라이그램 (Trigram) 현재 단어가 이전 두 단어에 의존한다고 가정
N N-그램 일반화된 형태. 현재 단어가 이전 N-1개 단어에 의존

언어 모델링에서의 활용

조건부 확률 기반

N-그램 모델은 마르코프 가정(Markov Assumption)을 기반으로 한다. 즉, 어떤 단어의 등장 확률은 이전의 N-1개 단어에만 의존한다는 가정이다. 예를 들어, 트라이그램 모델에서는 다음과 같은 조건부 확률을 계산한다:

[ P(w_t | w_{t-2}, w_{t-1}) \approx \frac{C(w_{t-2}, w_{t-1}, w_t)}{C(w_{t-2}, w_{t-1})} ]

여기서 ( C(\cdot) )는 특정 N-그램의 등장 횟수를 의미한다.

전체 문장의 확률은 각 단어의 조건부 확률의 곱으로 계산된다:

[ P(W) = \prod_{t=1}^{T} P(w_t | w_{t-N+1}, ..., w_{t-1}) ]

예시

문장: "고양이가 밥을 먹는다"
바이그램 모델 기준 확률:

[ P(\text{고양이가 밥을 먹는다}) = P(\text{고양이가}) \times P(\text{밥을}|\text{고양이가}) \times P(\text{먹는다}|\text{밥을}) ]


장점과 단점

장점

  • 단순하고 계산이 빠름: 조건부 확률을 빈도 기반으로 추정하므로 구현이 간단하고 실시간 처리에 적합.
  • 적은 데이터로도 활용 가능: 대규모 코퍼스 없이도 기본적인 언어 패턴을 학습할 수 있음.
  • 해석이 용이: 어떤 N-그램이 자주 등장하는지 직접 확인 가능.

단점

  • 희소성 문제(Sparsity): 특정 N-그램 조합이 훈련 데이터에 등장하지 않으면 확률이 0이 되어 일반화 어려움.
  • 길이 제한: 장거리 의존성(long-range dependency)을 포착하지 못함. 예: 문장 초반과 말미의 단어 관계 무시.
  • 저장 공간 문제: N이 커질수록 가능한 N-그램의 수가 기하급수적으로 증가 → 메모리 소모 큼.

스무딩 기법 (Smoothing)

희소성 문제를 해결하기 위해 다양한 스무딩 기법이 사용된다. 대표적인 방법은 다음과 같다:

  • 라플라스 스무딩(Laplace/Lidstone Smoothing): 모든 N-그램에 작은 상수를 더하여 0 확률 방지.
  • 굿-튜링 스무딩(Good-Turing Smoothing): 관측된 빈도를 기반으로 미관측 항목의 확률을 추정.
  • 백오프(Backoff): 현재 N-그램이 없으면 (N-1)-그램으로 되돌아가 확률 계산.
  • 보간(Interpolation): 여러 차수의 N-그램 확률을 가중 평균.

문자 기반 N-그램

N-그램은 단어 외에도 문자 단위로도 사용된다. 이는 스펠링 교정, 언어 감지, 이름 인식 등에 유용하다. 예를 들어, 단어 "한국어"의 문자 기반 트라이그램은:

  • "한", "한국", "한국어", "국어", "어"

문자 기반 N-그램은 언어의 음운적 구조를 반영할 수 있어, 오타 감지나 음성 인식의 전처리 단계에서 유용하다.


관련 기술 및 발전

N-그램 모델은 딥러닝 기반의 순환 신경망(RNN), LSTM, 트랜스포머(Transformer) 모델 등에 의해 점차 대체되고 있다. 특히, BERT, GPT와 같은 사전 학습 언어 모델은 장거리 의존성과 문맥을 훨씬 더 정교하게 처리할 수 있어, N-그램의 한계를 극복한다.

그럼에도 불구하고, N-그램은 다음과 같은 경우 여전히 유용하다:


참고 자료

  • Jurafsky, D., & Martin, J. H. (2023). Speech and Language Processing (3rd ed.).
  • Manning, C. D., & Schütze, H. (1999). Foundations of Statistical Natural Language Processing.
  • Wikipedia: N-gram
  • Stanford NLP Group: Language Modeling with N-grams

N-그램은 자연어처리의 기초이자 역사적인 이정표로, 현대 언어 모델의 발전을 이해하는 데 필수적인 개념이다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?